package org.fast.develop.logicflow;

import org.fast.develop.logicflow.management.service.LogicModelService;
import org.fast.develop.logicflow.management.service.LogicRepositoryService;
import org.fast.develop.logicflow.repository.domain.bytearray.LogicBytearrayRepository;
import org.fast.develop.logicflow.repository.domain.definition.LogicDefinitionRepository;
import org.fast.develop.logicflow.repository.domain.deployment.LogicDeploymentRepository;
import org.fast.develop.logicflow.repository.domain.model.LogicModelRepository;
import org.fast.develop.logicflow.rest.execute.LogicFlowExecutorEnhance;
import org.fast.develop.logicflow.runtime.LogicFlowRuntimeConfiguration;
import org.fast.develop.logicflow.runtime.LogicRuntimeService;
import org.fast.develop.logicflow.runtime.cache.IThreadStore;
import org.fast.develop.logicflow.ws.LogicDebugService;
import org.fast.develop.logicflow.ws.LogicFlowServerEndpoint;
import org.fast.develop.logicflow.ws.manager.WsSessionManager;
import org.fast.develop.logicflow.ws.thread.ThreadStore;

/**
 * @author 莫寅
 * @createTime 2022-12-21 00:14
 * @desc：
 */
public interface LogicFlowManagementConfiguration{


    public LogicBytearrayRepository getLogicBytearrayRepository();

    public LogicDefinitionRepository getLogicDefinitionRepository();

    public LogicDeploymentRepository getLogicDeploymentRepository();

    public LogicModelRepository getLogicModelRepository();

    public LogicModelService getLogicModelService();

    public LogicRepositoryService getRepositoryService();

    public LogicRuntimeService getRuntimeService();

    public LogicFlowRuntimeConfiguration getLogicFlowRuntimeConfiguration();

    public LogicFlowServerEndpoint getLogicFlowServerEndpoint();

    public LogicFlowExecutorEnhance getLogicFlowExecutorEnhance();

    public WsSessionManager getWsSessionManager();

    public LogicDebugService getLogicDebugService();

    public IThreadStore getThreadStore();
}
